Skip to content

Add Changesets and GitHub Actions automation#4

Merged
huangyiirene merged 7 commits into
mainfrom
copilot/add-necessary-automation-work
Jan 18, 2026
Merged

Add Changesets and GitHub Actions automation#4
huangyiirene merged 7 commits into
mainfrom
copilot/add-necessary-automation-work

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 18, 2026

Implements version management and CI/CD automation infrastructure.

Changes

Changesets Integration

  • Install @changesets/cli (v2.29.8) for semantic versioning and changelog automation
  • Configure for public npm publishing to @objectstack/spec
  • Add npm scripts: changeset, version, release

GitHub Actions Workflows

  • .github/workflows/ci.yml: Build validation on push/PR (Node 20, TypeScript compilation)
  • .github/workflows/release.yml: Automated npm publishing via Changesets action
  • Minimal GITHUB_TOKEN permissions for security (contents: read for CI, contents: write + pull-requests: write for releases)

Package Metadata

  • Add repository field pointing to objectstack-ai/spec

Usage

Contributors create changesets when making changes:

npm run changeset  # Describe changes interactively

Maintainers merge the auto-generated "Version Packages" PR to trigger npm publish. Requires NPM_TOKEN secret configured in repository settings.

Original prompt

添加必要的自动化工作包括changeset


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits January 18, 2026 09:12
- Install @changesets/cli for version management
- Configure Changesets for public npm publishing
- Add GitHub Actions CI workflow for build and type checking
- Add GitHub Actions Release workflow for automated publishing
- Add changeset npm scripts to package.json
- Add repository field to package.json

Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
The build step already runs tsc which will fail on errors

Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
Set minimal permissions (contents: read) to limit GITHUB_TOKEN scope

Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
Copilot AI changed the title [WIP] Add necessary automation work including changeset Add Changesets and GitHub Actions automation Jan 18, 2026
Copilot AI requested a review from huangyiirene January 18, 2026 09:17
Copilot AI and others added 3 commits January 18, 2026 09:21
Regenerate package-lock.json to fix npm ci failure in CI workflow.
Updates @types/node from 12.20.55 to 25.0.9 and adds missing undici-types dependency.

Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
@huangyiirene huangyiirene marked this pull request as ready for review January 18, 2026 09:25
@huangyiirene huangyiirene merged commit f046f0c into main Jan 18, 2026
1 check passed
os-zhuang pushed a commit that referenced this pull request May 21, 2026
The real moat of metadata-driven development is not 'low-code UI', it
is that the entire business system is small enough to fit in an AI
agent's context window. Make this an explicit, top-level value across
README and the concept docs.

- README.md
  - Add a 'Key Features' bullet on ~100x less code -> AI maintainability
  - Add 'Code footprint' and 'AI maintainability' rows to the
    Retool/Appsmith comparison table
  - Rewrite the 'Why AI-native?' intro to anchor the value on
    'fit in an agent's context window'

- content/docs/index.mdx
  - Add a second callout under the 'not a low-code UI builder' line
    explaining the ~100x code reduction and AI-co-maintenance angle
  - Fix stale 'npx @objectstack/cli init' -> 'npx create-objectstack'
    quick-start command (matches updated README)

- content/docs/concepts/metadata-driven.mdx
  - Rename benefit #4 'Reduced Boilerplate' -> '~100x Less Code -
    Sized for AI Agents' and reframe around context-window fit
  - Clarify that what gets generated is full CRUD + REST + typed SDK
    + MCP tools + validation + permission scaffolding, not just CRUD

- content/docs/concepts/north-star.mdx
  - Add a sixth non-negotiable tenet: 'Compact by Construction'
    -> a typical enterprise app fits in ~1% of a hand-written
    equivalent, small enough for an AI agent to load and refactor
    end-to-end. Explicitly call this out as the real moat.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
xuyushun441-sys pushed a commit that referenced this pull request May 22, 2026
Introduces an opt-in path in ObjectStackProtocolImplementation.saveMetaItem
that writes overlay metadata through SysMetadataRepository.put instead of
the raw engine, so writes append to the change-log and emit HMR seq events.

Behavioural changes (all behind options.useRepositoryWritePath /
OBJECTSTACK_USE_REPOSITORY_WRITE_PATH=1):
- saveMetaItem request gained optional parentVersion (If-Match) and
  actor fields. ConflictError -> 409 metadata_conflict.
- Plural type aliases (views, dashboards, ...) normalized to singular
  before the repo's overlay-allowlist gate (rubber-duck #5).
- Object-registry mutation moved AFTER successful put() so a conflict
  does not leave the in-memory registry stale (rubber-duck #3 invariant
  test added).

Repo/test-fake fixes uncovered by rubber-duck review:
- SysMetadataRepository.put/delete now update/delete by row id because
  the engine's strict .update requires id or multi:true (rubber-duck #1).
- sys_metadata.checksum column widened from 64 -> 71 chars to hold the
  sha256: prefix produced by hashSpec() (rubber-duck #2).
- Three test fake engines extended to support both overlay-tuple and
  id-based where lookups.

333/333 objectql tests pass.

Deferred to PR-10d.4: REST plumbing for parentVersion/actor
(rubber-duck #6), race-window retry for omitted parentVersion
(rubber-duck #4), default flag flip + legacy path removal.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
xuyushun441-sys pushed a commit that referenced this pull request May 24, 2026
Proposes that every Action opts in to AI exposure via a single `ai:` block
on ActionSchema, and the runtime auto-derives AIToolDefinitions from the
existing ActionRegistry. Eliminates the need to maintain parallel skill /
tool code for every business operation an admin can already perform.

- Adds opt-in `ai: { exposed, description, paramHints, outputSchema, ... }`
  block to @objectstack/spec ui/action.zod.ts
- Adds ActionRegistry.toolsForAi(opts) in @objectstack/runtime
- Wires service-ai/agent-runtime to merge action-tools into availableTools
- Routes LLM tool_calls with meta.kind='action' through ActionRegistry so
  permissions, validation, hooks, audit, and transactions all apply uniformly
- Confirmation defaults derived from existing confirmText / type='delete'

Authored from HotCRM v1.1 planning. HotCRM will be the first consumer:
delete src/skills/, convert each business skill to defineAction with ai
exposed, ship the 'Operational Parity' story as Wow #4.

Refs ADR-0003, ADR-0008, ADR-0009, ADR-0010.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants